文章目录1.题目2.开撸方法1方法23.拓展题-求连续登陆N天作业:在如今的程序员面试过程中,考察SQL部分能力,虽不是难点,但几乎是必考.为检查思路盲点,避免翻船,各位看官也可以复盘下,如对你有一丝的帮助,欢迎给个赞叭~ps:数据开发者,建议可以自己加难度进行考察leetcode难度:中等面试频率:高(遇到过类似题型两次+)1.题目表:Logs+-------------+---------+|ColumnName|Type|+-------------+---------+|id|int||num|varchar|+-------------+---------+id是这个表的主键。需求:
目录前言一、树(17)1.1、后序遍历1.2、层次遍历1.3、中序1.4、前序二、回溯(20)2.1、普通回溯2.2、线性回溯:组合、排列、子集、分割2.3、矩阵回溯三、二分查找(11)3.1、普通二分3.2、旋转数组二分四、栈和队列(13)4.1、普通栈、普通队列4.2、单调栈、单调队列五、贪心(10)5.1、区间贪心5.2、两个维度贪心5.3、简单贪心5.4、复杂贪心六、动态规划(31)6.1、经典类型动归6.2、单串动归6.3、双串动归6.4、普通动归七、链表(23)八、排序(5)九、图(4)十、其他经典类型(63)10.1、Hash10.2、原地Hash10.3、双指针10.4、滑动窗
236.二叉树的最近公共祖先给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个节点p、q,最近公共祖先表示为一个节点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”示例1:输入:root=[3,5,1,6,2,0,8,null,null,7,4],p=5,q=1输出:3解释:节点5和节点1的最近公共祖先是节点3。示例2:输入:root=[3,5,1,6,2,0,8,null,null,7,4],p=5,q=4输出:5解释:节点5和节点4的最近公共祖先是节点5。因为根据定义最近公共祖先节点可以为节点本身。示例3
目录前言10.正则表达式匹配36.有效的数独[纯正则]408.有效单词缩写459.重复的子字符串[纯正则]468.验证IP地址[纯正则]591.标签验证器[纯正则]722.删除注释[纯正则]890.查找和替换模式1023.驼峰式匹配1108.IP地址无效化[纯正则]1455.检查单词是否为句中其他单词的前缀2047.句子中的有效单词数[纯正则]2299.强密码检验器II[纯正则]前言正则这个东西隔几天不用就容易忘记,所以把刷LeetCode时候碰到的能用正则表达式解决的题目全都记在这里,供以后参考使用,这里面有的是直接写出正则表达式即可,或者说正则表达式是写死了的,我标为“纯正则”,有的则需要
代码随想录算法训练营第二天|LeetCode977有序数组的平方、LeetCode209长度最小的子数组、LeetCode59螺旋矩阵II、数组总结时长:大约3~4小时977.SquaresofaSortedArrayGivenanintegerarraynumssortedinnon-decreasingorder,returnanarrayofthesquaresofeachnumbersortedinnon-decreasingorder.Example1:Example2:Constraints:1104-1044numsissortedinnon-decreasingorder.Fo
💛前情提要💛本章节是数据结构的栈和队列的相关面试题目讲解~以下的内容一定会让你对栈和队列相关知识的题目,有一个颠覆性的认识哦!!!❗以下内容以C语言的方式实现❗以下内容干货满满,跟上步伐吧~作者介绍:🎓作者:热爱编程不起眼的小人物🐐🔎作者的Gitee:代码仓库📌系列文章&专栏推荐:《刷题特辑》、《C语言学习专栏》、《数据结构_初阶》📒我和大家一样都是初次踏入这个美妙的“元”宇宙🌏希望在输出知识的同时,也能与大家共同进步、无限进步🌟🌐为大家推荐一款刷题网站呀👉点击跳转以下题目&算法思想,都可以从此网站中找到并参考学习哟~📌导航小助手📌👉前情提要📒面试真题【全面深度解析】🏷️有效的括号【难度:简单
👦个人主页:@Weraphael✍🏻作者简介:目前学习C++和算法✈️专栏:Leetcode+面试/笔试🐋希望大家多多支持,咱一起进步!😁如果文章对你有帮助的话欢迎评论💬点赞👍🏻收藏📂加关注目录一、移除链表元素1.1题目描述1.2思路一1.3思路一代码实现1.4思路二--尾插1.5思路二代码实现二、翻转单链表2.1题目描述2.2思路一--三指针2.3思路一代码实现2.4思路二--头插2.5思路二代码实现三、链表的中间结点3.1题目描述3.2思路3.3代码实现四、链表中倒数第k个结点4.1题目描述4.2思路4.3代码实现五、合并两个有序链表5.1题目描述5.2做法代码实现六、分割链表6.1题目描
学习参考回溯与递归相辅相成;回溯是递归的副产品,只要有递归就会有回溯。回溯函数也就是递归函数,指的都是一个函数。回溯搜索法纯暴力搜索解决的问题组合问题:N个数里面按一定规则找出k个数的集合切割问题:一个字符串按一定规则有几种切割方式子集问题:一个N个数的集合里有多少符合条件的子集排列问题:N个数按一定规则全排列,有几种排列方式(与组合差别,排列有元素顺序)棋盘问题:N皇后,解数独等等理解抽象的不易理解;抽象为图形结构--树形结构N叉树【树的宽度:集合的大小(for处理);深度:递归的深度(递归处理)】模板voidbacktracking(参数){if(终止条件){收集结果;return;}//
学习参考回溯与递归相辅相成;回溯是递归的副产品,只要有递归就会有回溯。回溯函数也就是递归函数,指的都是一个函数。回溯搜索法纯暴力搜索解决的问题组合问题:N个数里面按一定规则找出k个数的集合切割问题:一个字符串按一定规则有几种切割方式子集问题:一个N个数的集合里有多少符合条件的子集排列问题:N个数按一定规则全排列,有几种排列方式(与组合差别,排列有元素顺序)棋盘问题:N皇后,解数独等等理解抽象的不易理解;抽象为图形结构--树形结构N叉树【树的宽度:集合的大小(for处理);深度:递归的深度(递归处理)】模板voidbacktracking(参数){if(终止条件){收集结果;return;}//
404.左叶子之和给定二叉树的根节点root,返回所有左叶子之和。示例1:输入:root=[3,9,20,null,null,15,7]输出:24解释:在这个二叉树中,有两个左叶子,分别是9和15,所以返回24示例2:输入:root=[1]输出:0提示:节点数在[1,1000]范围内-1000思路:DFS因为我们求的是左叶子节点之和,所以我们要先判断哪个是左叶子节点;题目中的示例2表明只有根节点,虽然也是叶子节点,但不算左叶子节点;所以左叶子节点的条件就是在根节点root节点左边,且是叶子节点,这样我们就能判断左叶子节点了只需要取出左叶子节点的val值,累加即可;如果不是左叶子节点,则向下递归